// 变量的作用域



// var a = [];
// for ( var b=0; b<3; b++) {

//     (function (x) {
//         a[b]=function() {
//             console.info(x);
//         }
//     })(b)
    
// }

// a[2]();

// // Closure 闭包
// function a() {
//     var x = 1;
//     function b () {
//         return x;
//     }

//     return b;
// }
// console.log(a()())

// let 不存在变量提升
// console.log(a)
// let a = [];
// for ( let b=0; b<3; b++) {

//     a[b]=function() {
//         console.info(b);
//     }
    
// }

// a[1]();

// const b = 3;

// 解构赋值  从数组和对象中直接取值，然后对变量进行赋值。

// destructuring 
// let a = 1;
// let b = 2;
// let c = 3;

// let [a,b,c] = [1,2,3];

let obj = {
    a: 1,
    b: 2,
    c: 3
}

// const {a,b,c } =obj

// console.log(a,b,c)
// const {c: x, a, b} = obj
// console.log(x,a,b)

function add([a,b]) {
    return x+ y
}

// console.log(add(let[a,b]= [1,2]))